
package com.insigma.business.qrcode.welfare._bff;



import com.insigma.business.qrcode.common.annotation.ApiServiceType;
import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseDeleteRequest;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.soldier.dto.SimpleApiRequest;
import com.insigma.business.qrcode.soldier.request.BaseGetRequest;
import com.insigma.business.qrcode.welfare.dto.HospitalStatsDTO;
import com.insigma.business.qrcode.welfare.dto.ScanCodeRecordDTO;
import com.insigma.business.qrcode.welfare.dto.ScenicSpotStatsDTO;
import com.insigma.business.qrcode.welfare.request.ScanCodeRecordInsertRequest;
import com.insigma.business.qrcode.welfare.request.ScanCodeRecordSearchRequest;
import com.insigma.business.qrcode.welfare.request.ScanCodeRecordUpdateRequest;

import java.util.List;


public interface ScanCodeRecordBFFProvider {

    
    @ApiServiceType(value = "gov.ss.scan.record.search", name = "查询数据列表")
         BasePagingResponse<List<ScanCodeRecordDTO>> searchScanCodeRecord(final ScanCodeRecordSearchRequest scanCodeRecordSearchRequest);

    
    @ApiServiceType(value = "all.ss.scan.record.hospital.search", name = "查询医院记录", desc = "查询医院记录")
    BasePagingResponse<List<ScanCodeRecordDTO>> searchHospitalRecord(final ScanCodeRecordSearchRequest scanCodeRecordSearchRequest);

    
    BaseResponse<ScanCodeRecordDTO> getScanCodeRecord(final BaseGetRequest baseGetRequest);

    
    BaseResponse<String> insertScanCodeRecord(final ScanCodeRecordInsertRequest scanCodeRecordInsertRequest);

    
    BaseResponse<Integer> updateScanCodeRecord(final ScanCodeRecordUpdateRequest scanCodeRecordUpdateRequest);

    
    BaseResponse<Integer> deleteScanCodeRecord(final BaseDeleteRequest deleteRequest);


    
    @ApiServiceType(value = "gov.ss.scan.scenic.spot.stats", name = "查询景区优惠")
    BaseResponse<ScenicSpotStatsDTO> getScenicSpotStats(SimpleApiRequest request);

    
    @ApiServiceType(value = "gov.ss.scan.hospital.stats", name = "查询医院优惠")
    BaseResponse<HospitalStatsDTO> getHospitalStats(SimpleApiRequest request);
}
